transition-g() {
  transition-property: color, background, box-shadow, border-color;
  transition-delay: 0s, 0s, 0s, 0s;
  transition-duration: 0.2s, 0.2s, 0.2s, 0.2s;
  transition-timing-function: ease, ease, ease, ease;
}

transition-t(property, delay, duration, function) {
  $temp-property = "color, background, box-shadow, border-color";
  $temp-delay = "0s, 0s, 0s, 0s";
  $temp-duration = "0.2s, 0.2s, 0.2s, 0.2s";
  $temp-function = "ease, ease, ease, ease";

  for p in convert(property) {
    $temp-property += ("," + p);
  }

  for d in convert(delay) {
    $temp-delay += ("," + d + "s");
  }

  for d in convert(duration) {
    $temp-duration += ("," + d + "s");
  }

  for f in convert(function) {
    $temp-function += ("," + f);
  }

  transition-property: convert($temp-property);
  transition-delay: convert($temp-delay);
  transition-duration: convert($temp-duration);
  transition-timing-function: convert($temp-function);
}


.fade-in-down-animation {
  animation-fill-mode: both;
  animation-duration: 1s;
  animation-name: fade-in-down;
}


@keyframes fade-in-down {
  0% {
    opacity: 0;
    transform: translateY(-50px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes icon-animate {
  0%, 100% {
    transform: scale(1);
  }

  10%, 30% {
    transform: scale(.88);
  }

  20%, 40%, 60%, 80% {
    transform: scale(1.08);
  }

  50%, 70% {
    transform: scale(1.08);
  }
}

.title-hover-animation {
  display: inline-block;
  position: relative;
  border-bottom: none;
  line-height: 1.3;
  vertical-align: top;
  color: var(--second-text-color);

  &::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    bottom: -4px;
    left: 0;
    background-color: var(--second-text-color);
    visibility: hidden;
    transform: scaleX(0);
    transition-t("visibility transform", "0, 0", "0.2, 0.2", "ease-in-out, ease-in-out");
  }

  &:hover::before {
    visibility: visible;
    transform: scaleX(1);
  }

}


